Skip to content

Conversation

@Ruud68
Copy link
Contributor

@Ruud68 Ruud68 commented Nov 11, 2025

Pull Request for Issue # -.

Summary of Changes

In form xml files you can add useglobal="true", this will then extend the field to show the value for the field in the matching component options.

This PR extends the useglobal to not only use the component options but also a plugins options.

This will create the possibility to have the same functionality it had but then for (global) plugin parameters.

This is a POC on the 'text' field to see if there is interest in this change, if so I can further extend it to the other fields that have the useglobal functionality:

  • MailtemplateLayoutField
  • ComponentLayoutField
  • ListField
  • NumberField
  • PluginsField

Testing Instructions

on a formfield you can now have the following useglobal settings:

  • useglobal="true": this will take the configured field value from the component
  • useglobal="plg_system_xyz": this will take the configured value from the plugin with type 'system' and name 'xyz'

in file ./administrator/components/com_content/forms/article.xml change field "float_into" to use com_content as useglobal value:

			<field
				name="float_intro"
				type="text"
				label="COM_CONTENT_FIELD_IMAGE_CLASS_LABEL"
				description="COM_CONTENT_FIELD_IMAGE_CLASS_DESC"
				useglobal="com_content"
				validate="CssIdentifier"
			/>

after this field add the following field:

			<field
				name="article_index_text"
				type="text"
				label="PLG_CONTENT_PAGEBREAK_SITE_ARTICLEINDEXTEXT"
				useglobal="plg_content_pagebreak"
			/>

in plugin content page break add some text to field "Custom Article Index Heading", this will be your global value.

In the backend open an article for editing, open tab "Images and Links", in set "Intro Image" you should now see field "Image Class" and field (untranslated) "PLG_CONTENT_PAGEBREAK_SITE_ARTICLEINDEXTEXT" having "Use Global (....)" as value.
changing the useglobal to "true" in both fields, will still show the same value for the Intro Image (as it uses the fallback to component com_content), but empty for field "article_index_text" as that fallsback to the com_content component which doesn't have this field.

Try to fill in (bogus) values in the useglobal for these fields, these should then fallback to the component values

Actual result BEFORE applying this Pull Request

The text field would show empty

Expected result AFTER applying this Pull Request

The textfield will show 'Use Global (abc)' where abc is the value of the field in the plugin configuration

Link to documentations

Please select:

@bembelimen bembelimen changed the title Expand useGlobal to also use plugin parameters [6.1] Expand useGlobal to also use plugin parameters Nov 16, 2025
@laoneo
Copy link
Member

laoneo commented Nov 19, 2025

Nice one. For consistency, I would also support the component name and then deprecate the true attribute for useglobal. Like that we can get rid of the global input parameter.

@Ruud68
Copy link
Contributor Author

Ruud68 commented Nov 19, 2025

Hi @laoneo Thanks, glad you like it. Already have this in place for my plugins via overrides: works like a charm :)

I will make a change so you can use component name or plugin name, with a fallback of 'true' to the component name from the input parameter.

If this is something that would get integrated i can also do the other fields that now have 'useglobal' support.
Not to keen on 'wasting' time on this if it doesn't get integrated in the end, so just checking in advance :)

@laoneo
Copy link
Member

laoneo commented Nov 19, 2025

Sure. We can also get this RTC and then expand from there.

@Ruud68
Copy link
Contributor Author

Ruud68 commented Nov 19, 2025

You can now use component name e.g. 'com_content', plugin name or 'true' as B/C fallback

@laoneo
Copy link
Member

laoneo commented Nov 20, 2025

Cool, I would replace one occurrence in core for plugins and one for a component. Like that it can be tested relatively easy.

@Ruud68
Copy link
Contributor Author

Ruud68 commented Nov 20, 2025

For core a replacement can be made, but not for plugins as that is a new feature and not used in core.
I can make test instructions where the tester than can add themselves a field to a form and set the different useglobal values.

As a side note: why is the CI Joomla Check PHP code style failing on the use of a '' on e.g. \str_starts_with, but it is allowing it on \is_null?

@Ruud68
Copy link
Contributor Author

Ruud68 commented Nov 20, 2025

I updated the test instructions in the OP. is that sufficient?

@@ -0,0 +1 @@
joomla-cms No newline at end of file
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this here looks wrong

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no idea where you get that from: all checks have passed is what it is telling me?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants